This invention relates to methods of encoding data words for transmission, for example via a communications link in a communications network.
The spread of personal computers and workstations has led to the development of networks for interconnecting such equipment and common resources such as printers and data storage devices. More powerful and sophisticated computing equipment and programs have progressively become available, allowing the processing of data in larger and larger quantities, for example in the form of database information and graphic images. These developments have placed increasing demands on the speed and capacity of network communications links.
For various reasons it has been found desirable to encode data prior to transmission over communications links, in particular:
to ensure that certain minimum error detection capabilities are provided;
to provide uniquely identifiable control signals which can be embedded in the encoded symbol stream;
to assist in maintaining synchronisation of circuit operation (for example by avoiding prolonged sequences of symbols without any signal transition); and
to limit undesired electro-magnetic emissions from conductors, and, even in the case of optical systems, from transceivers and chipsets.
It is also usually desirable to avoid significant imbalance or disparity in the occurrence of differently-valued symbols (e.g. positive and negative polarity symbols), to avoid problems of transmission through systems having a.c. coupling, such as through isolating transformers. Various codes have been proposed and adopted which attempt to balance these objectives relative to one another. Many of these proposals involve the use of block codes, in which blocks or words of successive symbols in a data stream are encoded into corresponding blocks or words of code symbols, typically with more symbols in a code word than there are data symbols in the corresponding data word. Another common technique, particularly used for limiting electro-magnetic emissions, is scrambling, in which a pseudo-random symbol sequence is combined with the data stream to limit the occurrence of regular symbol patterns. Block codes and scrambling both impose a requirement for synchronisation between a transmitter and receiver: the receiver must correctly identify the boundaries between successive code words in the received signal stream (alignment), and a de-scrambling process in the receiver must apply a pseudo-random symbol sequence which exactly matches that used in the transmitter""s scrambler.
It is an object of this invention to provide methods and apparatus which can be used to facilitate synchronisation between transmitters and receivers in a communications system.
According to one aspect of this invention there is provided a method of encoding data words for transmission, comprising the steps of:
receiving data words from a source;
scrambling the data words using a scrambling procedure which generates at least one predetermined output pattern with a predetermined probability; and
encoding the scrambled data words with a block encoding procedure to produce corresponding code words, different occurrences of the scrambled data word having said predetermined output pattern being selectively encoded with different ones of a plurality of code words associated with that scrambled data word pattern.
According to another aspect of this invention there is provided a method of transmitting first and second data, comprising the steps of:
encoding the first data using a block code for which correct decoding of at least some code words considered as a whole is dependent upon polarity of the code word;
encoding the second data using at least one selected input symbol position in the block code, said symbol position being selected for correct decoding of a symbol at that position to be independent of polarity of the code word;
transmitting said block code words;
decoding said first data in accordance with the values of the block code words considered as a whole; and
decoding said second data in accordance with said at least one selected symbol only.